package czx.drools.web.controller;

import czx.drools.web.entity.Order;
import czx.drools.web.entity.OrderItem;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.ArrayList;
import java.util.List;

/**
 * @Description: TODO
 * @author: chenzx
 * @date: 2023/11/29 22:43
 */
@RestController
public class DroolsController {

//    public static final Log logger = LogFactory.getLog(DroolsController.class);
    public static final Logger log = LogManager.getLogger(DroolsController.class);

//    @Resource
//    private KieBase kieBase;

    @GetMapping("/")
    public void drools() {
        Order order = new Order();
        order.setAmount(200);
        // 创建会话对象，用于和规则交互的引擎
//        KieSession kieSession = kieBase.newKieSession();
//        // 将数据交给规则引擎，规则会根据提供的数据进行负责匹配
//        kieSession.insert(order);
//        // 激活规则引擎，如果匹配成功则执行
//        kieSession.fireAllRules();
//        // 关闭会话
//        kieSession.dispose();
        log.info("订单金额：" + order.getAmount() + "元，订单积分：" + order.getScore());
//        System.out.println("订单金额：" + order.getAmount() + "元，订单积分：" + order.getScore());
    }

    @GetMapping("/demo")
    public void contains() {
        Order order = new Order();
//        order.setAmount(200);
        OrderItem orderItem = new  OrderItem();
        List<OrderItem> orderItems = new ArrayList<>();
        orderItems.add(orderItem);
        order.setOrderItems(orderItems);

        // 创建会话，用于和规则交互的引擎
//        KieSession kieSession = kieBase.newKieSession();
//        // 将数据给到规则引擎
//        kieSession.insert(order);
//        // 激活规则引擎
//        kieSession.fireAllRules();
//        // 关闭会话
//        kieSession.dispose();

    }


}
